# -*- coding: utf-8 -*-
#
# Copyright 2007 - Celso Pinto <cpinto@7syntax.com>
#
# Licensed under the Apache License, Version 2.0 (the "License"); 
# you may not use this file except in compliance with the License. 
# You may obtain a copy of the License at 
#
#      http://www.apache.org/licenses/LICENSE-2.0 
#
# Unless required by applicable law or agreed to in writing, software 
# distributed under the License is distributed on an "AS IS" BASIS, 
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
# See the License for the specific language governing permissions and 
# limitations under the License.
#

import sys,os

from messaging import Session

__all__ = ['MQClient']

class MQClient(object):
    def __init__(self):
        self.sessions = []
        self.setup()

    def setup(self):
        settings_module = os.getenv('MQ_SETTINGS_MODULE')
        if not settings_module:
            raise Exception('MQ_SETTINGS_MODULE variable not set')

        exec 'from %s import clients' % settings_module
        for c in clients:
            self.sessions.append(Session(c['servers'],c['consumers']))

    def start_sessions(self):
        for s in self.sessions:
            s.start()

    def stop_sessions(self):
        for s in self.sessions:
            s.stop()


